# 2. Product installation (1) Install the base of the robotic arm Components Needed: ![](./media/image-20250825102752439.png) ![](./media/image-20250825102759644.png) ![](./media/image-20250825102819916.png) ![](./media/image-20250825102845492.png) ![](./media/image-20250825102904856.png) ![](./media/image-20250825102914123.png) ![](./media/image-20250825102922658.png) ![](./media/image-20250825102932504.png) The base is installed successfully. ![](./media/image-20250825102946558.png) (2) Mount servos onto the base Components Needed: ![](./media/image-20250825103002635.png) ![](./media/image-20250825103010946.png) ![](./media/image-20250825103021179.png) ![](./media/image-20250825103028933.png) ![](./media/image-20250825103038396.png)**Assemble a servo(left) onto the left board** Components Needed: ![](./media/image-20250825103104353.png) ![](./media/image-20250825103112745.png) ![](./media/image-20250825103122184.png) **a.Initialize the left servo** Attach this left servo to G, V and S(6)of servo motor driver shield, upload the following code, plug in power and press the rest button on the V4.0 board. Then the left servo rotates to 180°. ![](./media/image-20250825103356046.png) Download code file:[Servo_180](./Servo_180.7z) **Test Code:** ``` #include Servo myservo; // create servo object to control a servo void setup() { Serial.begin(9600); delay(1000); } void loop() { myservo.attach(6); // Change pin to adjust one by one myservo.write(180); //Angle delay(1000); } ``` Fix the arm: ![](./media/image-20250825104625440.png) ![](./media/image-20250825104712540.png) ![](./media/image-20250825104725429.png) ![](./media/image-20250825104735474.png) ![](./media/image-20250825104801262.png) **Mount a servo(right) onto the right board** Components Needed ![](./media/image-20250825104815469.png) **Note the breach direction of acrylic board** ![](./media/image-20250825104836715.png) ![](./media/image-20250825104844529.png) b. Initialize the right servo Attach this left servo to G, V and S(A0)of servo motor driver shield, upload the following code, plug in power and press the rest button on the V4.0 board. Then the left servo rotates to 0°. ![](./media/image-20250825105153059.png) Download code file:[Servo_0](./Servo_0.7z) **Set the servo to 0°:** ``` #include Servo myservo; // create servo object to control a servo void setup() { Serial.begin(9600); delay(1000); } void loop() { myservo.attach(A0); // Change pin to adjust one by one myservo.write(0); //Angle delay(1000); } ``` ![](./media/image-20250825105943006.png) ![](./media/image-20250825105952517.png) ![](./media/image-20250825110002028.png) ![](./media/image-20250825110010013.png) ![](./media/image-20250825110019858.png) **Install the holder part** ![](./media/image-20250825110046018.png) ![](./media/image-20250825110054174.png) ![](./media/image-20250825110102954.png) **Fix the left part and the mount part together** ![](./media/image-20250825110118956.png) ![](./media/image-20250825110126136.png) ![](./media/image-20250825110133667.png) Fix the right part and the ABS holder together. ![](./media/image-20250825110154253.png) Note the direction of the ABS holder. ![](./media/image-20250825110207706.png) ![](./media/image-20250825110216325-1756090944761-1.png) ![](./media/image-20250825110235236.png) ![](./media/image-20250825110305154.png) ![](./media/image-20250825110314288.png) ![](./media/image-20250825110328136.png) ![](./media/image-20250825110337867.png) ![](./media/image-20250825110345899.png) ![](./media/image-20250825110355572.png) ![](./media/image-20250825110403945.png) **Install the middle part** ![](./media/image-20250825110417992.png) ![](./media/image-20250825110424661.png) ![](./media/image-20250825110433727.png) ![](./media/image-20250825110441834.png)![](./media/image-20250825115856331.png) ![](./media/image-20250825115935641.png) ![](./media/image-20250825110509825.png) ![](./media/image-20250825110517788.png) ![](./media/image-20250825110526816.png) ![](./media/image-20250825110535865.png) ![](./media/image-20250825111401395.png) ![](./media/image-20250825111411428.png) ![](./media/image-20250825111425067.png) ![](./media/image-20250825111435059.png) Assemble the claw ![](./media/image-20250825111447548.png) ![](./media/image-20250825111454020.png) ![](./media/image-20250825111503560.png) ![](./media/image-20250825111512858.png) ![](./media/image-20250825111522276.png) ![](./media/image-20250825111552054.png) ![](./media/image-20250825111601337.png) ![](./media/image-20250825111609348.png) ![](./media/image-20250825111617283.png) ![](./media/image-20250825111629104.png) ![](./media/image-20250825111638096.png) ![](./media/image-20250825111817549.png) ![](./media/image-20250825111827956.png) **c. Initialize the servo** Attach this left servo to G, V and S(9)of servo motor driver shield, upload the following code, plug in power and press the rest button on the V4.0 board. Then the left servo rotates to 0° ![](./media/image-20250825112212304.png) **Set the servo to 0°:** Download code file:[1Servo_0.7z](./1Servo_0.7z) ``` #include Servo myservo; // create servo object to control a servo void setup() { Serial.begin(9600); delay(1000); } void loop() { myservo.attach(9); // Change pin to adjust one by one myservo.write(0); //Angle delay(1000); } ``` **Mount gear wheels:** ![](./media/image-20250825113028400.png) ![](./media/image-20250825113036453.png) **Components Needed:** ![](./media/image-20250825113051570.png) ![](./media/image-20250825113106173.png) ![](./media/image-20250825120155998.png) ![](./media/image-20250825113130207.png) ![](./media/image-20250825113139617.png) **Initialize the servo** Attach this left servo to G, V and S(A1)of sevro motor driver shield, upload the following code, plug in power and press the rest button on the V4.0 board. Then the left servo rotates to 80°. **Set the servo to 80°:** Download code file:[Servo_80.7z](./Servo_80.7z) Test Code ``` #include Servo myservo; // create servo object to control a servo void setup() { Serial.begin(9600); delay(1000); } void loop() { myservo.attach(A1); // Change pin to adjust one by one myservo.write(80); //Angle delay(1000); } ``` **Install the robotic arm:** ![](./media/image-20250825114351950.png) ![](./media/image-20250825114359547.png) ![](./media/image-20250825114406930.png) **Mount the control part** ![](./media/image-20250825114421046.png) ![](./media/image-20250825114429200.png) ![](./media/image-20250825114437008.png) ![](./media/image-20250825114445870.png) ![](./media/image-20250825114453586.png) Wiring-up Guide ![](./media/image-20250825114507837.png) ![](./media/image-20250825114516080.png) ![](./media/image-20250825114523624.png) ![](./media/image-20250825114532430.png) ![](./media/image-20250825114539628.png) ![](./media/image-20250825114546848.png) ![](./media/image-20250825114554166.png) **Joint Rotation and Servo Angle Settings** | Name | 0° | 180° | | ---------------------- | --------------------------------------------- | -------------------------- | | Servo 1(baseplate) | Rotate toward the rightmost | Rotate toward the leftmost | | Servo 2 (right side) | Rocker arm connected to Servo 2 draws back | stretch out | | Servo 3 (left side) | Rocker arm connected to Servo 3 stretches out | draw back | | Servo 4 (clamp claw) | close | open | **Pin Control** | Name | IO Pin | | -------------------- | ------ | | Servo 1 (baseplate) | A1 | | Servo 2 (right side) | A0 | | Servo 3 (left side) | 6 | | Servo 4 (clamp claw) | 9 | | Right Joystick X | A2 | | Right Joystick Y | A5 | | Right Joystick Z (B) | 7 | | Left Joystick X | A3 | | Left Joystick Y | A4 | | Left Joystick Z(B) | 8 | | D1/DAT of PS2 | 12 | | D0/CMD of PS2 | 11 | | CE/SEL of PS2 | 10 | | CLK of PS2 | 13 |